//将两个数字和连个两个字符串进行相加
// function add(arg1, arg2) {
//   return arg1 + arg2;
// }
// add(10, 20);
// add("abc", "cba");

//第一种方式：实现两个函数
// function add1(num1: number, num2: number) {}
// function add2(num1: string, num2: string) {}

// add1(10, 20);
// add2("abc", "cba");

//第二种方式(错误写法)，使用联合类型不行的
// function add3(num1:(number|string),num2:(number|string)){
// }·

//第三种方式:函数的重载
function add(arg1: number, arg2: number): number;
function add(arg1: string, arg2: string): string;

function add(arg1: any, arg2: any): any {
  console.log(arg1 + arg2);
}
add(10, 20);
add("aaa", "bbb");
//上面只对应的重载签名才能调入,下面是报错的
// add("aaa", 123);
